package com.atguigu.ai.chat.controller;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ChatController {

    //注入
    private final ChatClient chatClient;
    public ChatController(ChatClient.Builder chatClientBuilder) {
        this.chatClient = chatClientBuilder.build();
    }


    /****
     * 实现简单对话功能
     * 盲点
     * value 属性明确指定了前端传递参数时应使用的名称是 "msg"。
     * 而 String message 只是后端方法中用来接收这个参数值的变量名，与前端传递的参数名无关
     * @param message
     * @return
     */
    @GetMapping("/chat")
    public String chat(@RequestParam(value = "msg",defaultValue = "你是谁")
                           String message) {
        return chatClient.prompt()    //提示词
                .user(message) //用户输入信息
                .call() //请求大模型
                .content(); //返回文本
    }
}
